package vcp.client.GUI.events;

import java.util.EventObject;

import vcp.enums.ComplaintType.ComplaintResolve;
import vcp.enums.ComplaintType.ComplaintStatus;

/**
 * 
 * @author VCP team
 *         <p>
 *         Responsible for complain status updates
 *         </p>
 * 
 * @see ComplaintStatus
 * @see ComplaintResolve
 */
public class ComplaintUpdateEvent extends EventObject
{
	/**
	 * 
	 */
	private static final long serialVersionUID = - 2527614940838271304L;

	/** the status to update **/
	private final ComplaintStatus newStatus;

	public ComplaintStatus getNewStatus ()
	{
		return this.newStatus;
	}

	/** resolve status **/
	private final ComplaintResolve resolve;

	public ComplaintResolve getResolve ()
	{
		return this.resolve;
	}

	/** the sum of refund **/
	private final Integer refundAmount;

	public Integer getRefundAmount ()
	{
		return this.refundAmount;
	}

	/** text with explain **/
	private final String resolveText;

	public String getResolveText ()
	{
		return this.resolveText;
	}

	/**
	 * update the complaint data
	 * 
	 * @param source
	 * @param newStatus
	 * @param resolve
	 * @param refundAmount
	 * @param resolveText
	 */
	public ComplaintUpdateEvent ( Object source, ComplaintStatus newStatus, ComplaintResolve resolve, Integer refundAmount, String resolveText )
	{
		super(source);
		this.newStatus = newStatus;
		this.resolve = resolve;
		this.refundAmount = refundAmount;
		this.resolveText = resolveText;
	}

}
